package com.itheima.javawork.day03.test01;
/*
方法重写（掌握）
- 1、方法重写概念
  - 子类出现了和父类中一模一样的方法声明（方法名一样，参数列表也必须一样）
- 2、方法重写的应用场景
  - 当子类需要父类的功能，而功能主体子类有自己特有内容时，可以重写父类中的方法，这样，即沿袭了父类的功能，又定义了子类特有的内容
- 3、Override注解
  - 用来检测当前的方法，是否是重写的方法，起到【校验】的作用

- 方法重写的注意事项
1. 私有方法不能被重写(父类私有成员子类是不能继承的)
2. 子类方法访问权限不能更低(public > 默认 > 私有)
3. 静态方法不能被重写,如果子类也有相同的方法,并不是重写的父类的方法

 */
public class Demo02 {
    //
    public void main(String[] args) {
        Zi z = new Zi();
        z.method();

    }
class Fu {
        private void show() {
            System.out.println("Fu中show()方法被调用");
        }

        void method() {
            System.out.println("Fu中method()方法被调用");
        }
    }
 class Zi extends Fu {

        /* 编译【出错】，子类不能重写父类私有的方法
        @Override
        private void show() {
            System.out.println("Zi中show()方法被调用");
        }
*/
        /* 编译【出错】，子类重写父类方法的时候，访问权限需要大于等于父类
        @Override
        private void method() {
            System.out.println("Zi中method()方法被调用");
        }
*/
        /* 编译【通过】，子类重写父类方法的时候，访问权限需要大于等于父类 */
        @Override
        public void method() {

            System.out.println("Zi中method()方法被调用");
        }
    }
}
